import layoutHeaderAside from '@/layout/header-aside'
import api from '@/api'
import { resetRouter } from '@/router/index'
import store from '@/store'

export async function loadMenu (router, store) {
  // api.auth.INFO().then((response) => {
  //   store.commit('SET_USER_INFO', response.data)
  //   resetRouter()
  //   const routes = formatRoutes(response.data.menuList)
  //   routes.forEach(route => {
  //     router.addRoute(route)
  //   })
  //   // 添加404页面
  //   router.addRoute({
  //     path: '*',
  //     name: '404',
  //     component: _import('system/error/404')
  //   })
  //   store.commit('d2admin/menu/headerSet', routes)
  //   store.commit('d2admin/page/init', routes)
  //   // 从持久化数据加载一系列的设置
  //   store.dispatch('d2admin/account/load')
  // })
  await store.commit('SET_USER_INFO', true)
  await resetRouter()
  await routes.forEach(route => {
    router.addRoute(route)
  })
  // 添加404页面
  await router.addRoute({
    path: '*',
    name: '404',
    component: _import('system/error/404')
  })

  await store.commit('d2admin/menu/headerSet', routes)
  await store.commit('d2admin/page/init', routes)
  // 从持久化数据加载一系列的设置
  await store.dispatch('d2admin/account/load')
}

const _import = require('@/libs/util.import.' + process.env.NODE_ENV)
const meta = { auth: true }

export const formatRoutes = (routes) => {
  const fmRoutes = []
  routes.forEach(item => {
    const r = {
      path: item.path,
      title: item.title,
      name: item.name,
      icon: item.icon,
      meta: {
        ...meta,
        title: item.title
      }
    }
    if (item.parent === -1 || item.component === 'layoutHeaderAside') {
      r.component = layoutHeaderAside
    } else {
      r.component = _import(item.component)
    }
    if (item.submenus.length !== 0) {
      r.children = formatRoutes(item.submenus)
    }
    fmRoutes.push(r)
  })
  return fmRoutes
}

const routes = [
  {
    path: '/pms',
    title: '菜品',
    name: '菜品',
    icon: 'product-hunt',
    meta: { auth: true, title: '菜品' },
    component: layoutHeaderAside,
    children: [
      {
        path: '/pms/pmsItem',
        title: '菜品管理',
        name: '菜品管理',
        icon: 'group',
        meta: { auth: true, title: '菜品管理' },
        component: _import('pms/pmsItem')
      },
      {
        path: '/pms/pmsPackage',
        title: '套餐管理',
        name: '套餐管理',
        icon: 'book',
        meta: { auth: true, title: '套餐管理' },
        component: _import('pms/pmsPackage')
      },
      {
        path: '/pms/pmsCategory',
        title: '类别管理',
        name: '类别管理',
        icon: 'book',
        meta: { auth: true, title: '类别管理' },
        component: _import('pms/pmsCategory')
      }
    ]
  },
  {
    path: '/oms',
    title: '销售',
    name: '销售',
    icon: 'product-hunt',
    meta: { auth: true, title: '销售' },
    component: layoutHeaderAside,
    children: [
      {
        path: '/oms/omsOrder',
        title: '订单',
        name: '订单',
        icon: 'product-hunt',
        meta: { auth: true, title: '订单' },
        component: _import('oms/omsOrder')
      },
      {
        path: '/oms/omsChart',
        title: '销售报表',
        name: '销售报表',
        icon: 'product-hunt',
        meta: { auth: true, title: '销售报表' },
        component: _import('oms/omsChart')
      }
    ]
  }
  // {
  //   path: '/test',
  //   title: '测试',
  //   name: '测试',
  //   icon: 'product-hunt',
  //   meta: { auth: true, title: '测试' },
  //   component: layoutHeaderAside,
  //   children: [
  //     {
  //       path: '/test/tview',
  //       title: '测试',
  //       name: '测试',
  //       icon: 'product-hunt',
  //       meta: { auth: true, title: '测试' },
  //       component: _import('test/tview')
  //     }
  //   ]
  // }
  // {
  //   path: '/test',
  //   title: '测试',
  //   name: '测试',
  //   icon: 'product-hunt',
  //   meta: { auth: true, title: '测试' },
  //   component: layoutHeaderAside,
  //   children: [
  //     {
  //       path: '/test/tview',
  //       title: '测试',
  //       name: '测试',
  //       icon: 'product-hunt',
  //       meta: { auth: true, title: '测试' },
  //       component: _import('test/tview')
  //     }
  //   ]
  // }
  // {
  //   path: '/ums',
  //   title: '用户',
  //   name: '用户',
  //   icon: 'cog',
  //   meta: { auth: true, title: '用户' },
  //   component: layoutHeaderAside,
  //   children: [
  //     {
  //       path: '/ums/umsAdmin',
  //       title: '用户管理',
  //       name: '用户管理',
  //       icon: 'address-card-o',
  //       meta: { auth: true, title: '用户管理' },
  //       component: _import('ums/umsAdmin')
  //     },
  //     {
  //       path: '/ums/umsAdminRoleRelation',
  //       title: '用户角色管理',
  //       name: '用户角色管理',
  //       icon: 'refresh',
  //       meta: { auth: true, title: '用户角色管理' },
  //       component: _import('ums/umsAdminRoleRelation')
  //     },
  //     {
  //       path: '/ums/umsRole',
  //       title: '角色管理',
  //       name: '角色管理',
  //       icon: 'group',
  //       meta: { auth: true, title: '角色管理' },
  //       component: _import('ums/umsRole')
  //     },
  //     {
  //       path: '/ums/umsPermission',
  //       title: '权限管理',
  //       name: '权限管理',
  //       icon: 'universal-access',
  //       meta: { auth: true, title: '权限管理' },
  //       component: _import('ums/umsPermission')
  //     },
  //     {
  //       path: '/ums/umsRolePermissionRelation',
  //       title: '角色权限管理',
  //       name: '角色权限管理',
  //       icon: 'refresh',
  //       meta: { auth: true, title: '角色权限管理' },
  //       component: _import('ums/umsRolePermissionRelation')
  //     },
  //     {
  //       path: '/ums/umsMenu',
  //       title: '菜单管理',
  //       name: '菜单管理',
  //       icon: 'book',
  //       meta: { auth: true, title: '菜单管理' },
  //       component: _import('ums/umsMenu')
  //     },
  //     {
  //       path: '/ums/umsRoleMenuRelation',
  //       title: '角色菜单管理',
  //       name: '角色菜单管理',
  //       icon: 'refresh',
  //       meta: { auth: true, title: '角色菜单管理' },
  //       component: _import('ums/umsRoleMenuRelation')
  //     }
  //   ]
  // }
]
